<?php 
	/*
	Autor:
	Fecha:
	*/
	
	include('lib/session.php');
	include('lib/data_acces.php');
	include('lib/constructor.php');
	include('lib/mysql.php');
	include('lib/paging.lib.php');
	include('sidebar.php');
	
	class usuarios
	{
		//funcion que muestra la lista de usuarios registrados y activos
		function list_usuario($data_acces)
		{
			$list='';
			$tlist = new template;
			$user = new mydb($data_acces['host'], $data_acces['user'], $data_acces['pass'], $data_acces['db']);
			$sql="SELECT
					`usuario`.`id_user`,
					`usuario`.`nombre_usu`,
					`usuario`.`apellido_usu`,
					`usuario`.`ci_usu`,
					`usuario`.`login_usu`,
					`usuario`.`pass_usu`,
					`usuario`.`tipo_usu`,
					`usuario`.`email_usu`,
					`usuario`.`activo_usu`
					FROM
					`usuario`
					WHERE
					`usuario`.`activo_usu` =  '1'";
			$user->db_query($sql);
			$cont=1;
			while($user->db_next())
			{
				$user_list= $user->row_object;
				$nombre_completo=$user_list->nombre_usu.' '.$user_list->apellido_usu;
				$id_usu=$user_list->id_user;
				$email_usu=$user_list->email_usu;
				$tipo_usu=$user_list->tipo_usu;
				if($tipo_usu == 1)
				{
					$tipo='Administrador';
				}
				else{
					if($tipo == 2)
					{
						$tipo='Usuario';
					}
				}
				$list.='<tr>
							<td>&nbsp;'.$cont.'&nbsp;</td>
							<td>'.$nombre_completo.'&nbsp;</td>
							<td>'.$email_usu.'&nbsp;</td>
							<td>'.$tipo.'&nbsp;</td>
							<td><a href="?do=modificar/'.$id_usu.'" title="">Modificar</a></td>
							<td><a href="?do=eliminar/'.$id_usu.'" title="">Eliminar</a></td>
						  </tr>';
				$cont++;
			}
			$user->db_close();
			$tlist->set_template('./lib/html/usuarios/lista.html');
			$tlist->set_parameter('content', $list);
			return $tlist->show();
		}
		//funcion que muestra la pagina para agregar usuarios
		function agregar($data_acces)
		{
			$list='';
			$option='<option value="1">Arministrador</option>
					<option value="2">Usuario</option>';
			$tusuario = new template;
			$tusuario->set_template('lib/html/usuarios/nuevo_usuario.html');
			$tusuario->set_parameter('option',$option);
			$list = $tusuario->show();
			return $list;
		}
		//funcion que agrega los datos del usuario a la base de datos
		function agregar_usu($data_acces)
		{
			$list='';
			
			$nombre=$_POST['nombre'];
			$apellido=$_POST['apellidos'];
			$ci=$_POST['ci'];
			$login=$_POST['login_usu'];
			$password=$_POST['password_usu'];
			$tipo=$_POST['tipo'];
			$email=$_POST['email'];
			
			$sql="insert into usuario(`nombre_usu`, `apellido_usu`, `ci_usu`, `login_usu`, `pass_usu`, `tipo_usu`, `email_usu`, `activo_usu`) 
					values('".$nombre."','".$apellido."','".$ci."','".$login."','".$password."','".$tipo."','".$email."','1')";
			$user = new mydb($data_acces['host'], $data_acces['user'], $data_acces['pass'], $data_acces['db']);
			$user->db_insert($sql);
			$error=mysql_error();
			$user->db_close($sql);
			if($error != '')
			{
				$list.='<div class="error">Lo siento, ocurrio un error en la operacion, porfavor intente de nuevo.<br />
						Si continua el error contacte con el administrador</div><br /><br />';
			}
			else
			{
				$list.='<div class="action">Los datos del usuario han sido guardados exitosamente.</div><br /><br />';
			}
			$list.=usuarios::list_usuario($data_acces);
			return $list;
		}
		//funcion que borra al usuario de la base de datos
		function eliminar($data_acces)
		{
			$list='';
			$param=explode('/',$_GET['do'],5);
			$id_usu=$param[1];
			
			$sql="delete from usuario where `id_user`='".$id_usu."'";
			$user = new mydb($data_acces['host'], $data_acces['user'], $data_acces['pass'], $data_acces['db']);
			$user->db_insert($sql);
			$error=mysql_error();
			$user->db_close($sql);
			if($error != '')
			{
				$list.='<div class="error">Lo siento, ocurrio un error en la operacion, porfavor intente de nuevo.<br />
						Si continua el error contacte con el administrador</div><br /><br />';
			}
			else
			{
				$list.='<div class="action">Los datos del usuario han sido borrados exitosamente.</div><br /><br />';
			}
			
			$list.=usuarios::list_usuario($data_acces);
			return $list;
		}
		//funcion que muestra la pagina con los datos del usuario para modificarlos
		function modificar($data_acces)
		{
			$list='';
			$param=explode('/',$_GET['do'],5);
			$id_usu=$param[1];
			$user = new mydb($data_acces['host'], $data_acces['user'], $data_acces['pass'], $data_acces['db']);
			$sql="SELECT
					`usuario`.`id_user`,
					`usuario`.`nombre_usu`,
					`usuario`.`apellido_usu`,
					`usuario`.`ci_usu`,
					`usuario`.`login_usu`,
					`usuario`.`pass_usu`,
					`usuario`.`tipo_usu`,
					`usuario`.`email_usu`,
					`usuario`.`activo_usu`
					FROM
					`usuario`
					WHERE
					`usuario`.`activo_usu` =  '1' and
					`usuario`.`id_user`='".$id_usu."'";
			$user->db_query($sql);
			$user->db_next();
			$user_list= $user->row_object;
			$nombre=$user_list->nombre_usu;
			$apellidos=$user_list->apellido_usu;
			$ci=$user_list->ci_usu;
			$email=$user_list->email_usu;
			$tipo=$user_list->tipo_usu;
			
			if($tipo == 1){
				$option='<option value="1" selected>Arministrador</option>
						<option value="2">Usuario</option>';
			}
			else{
				if($tipo == 2)
				{
					$option='<option value="1">Arministrador</option>
						<option value="2" selected>Usuario</option>';
				}
				else
				{
					$option='<option value="1">Arministrador</option>
						<option value="2">Usuario</option>';
				}
			}
			$tusuario = new template;
			$tusuario->set_template('lib/html/usuarios/modificar_usuario.html');
			$tusuario->set_parameter('id_usu',$id_usu);
			$tusuario->set_parameter('option',$option);
			$tusuario->set_parameter('nombre_value',$nombre);
			$tusuario->set_parameter('apellido_value',$apellidos);
			$tusuario->set_parameter('ci_value',$ci);
			$tusuario->set_parameter('email_value',$email);
			$list = $tusuario->show();
			return $list;
		}
		//funcion que modifica los datos de la base de datos
		function modificar_usu($data_acces)
		{
			$list='';
			$param=explode('/',$_GET['do'],5);
			$id_usu=$param[1];
			
			$nombre=$_POST['nombre'];
			$apellido=$_POST['apellidos'];
			$ci=$_POST['ci'];
			$tipo=$_POST['tipo'];
			$email=$_POST['email'];
			
			$sql="update usuario set `nombre_usu`='".$nombre."', `apellido_usu`='".$apellido."', `ci_usu`='".$ci."', 
					`tipo_usu`='".$tipo."', `email_usu`='".$email."' where `id_user`='".$id_usu."'";
			$user = new mydb($data_acces['host'], $data_acces['user'], $data_acces['pass'], $data_acces['db']);
			$user->db_insert($sql);
			$error=mysql_error();
			$user->db_close($sql);
			if($error != '')
			{
				$list.='<div class="error">Lo siento, ocurrio un error en la operacion, porfavor intente de nuevo.<br />
						Si continua el error contacte con el administrador</div><br /><br />';
			}
			else
			{
				$list.='<div class="action">Los datos del usuario han sido modificados exitosamente.</div><br /><br />';
			}
			$list.=usuarios::list_usuario($data_acces);
			return $list;
		}
		//menus que genera la accion de cada boton
		function menu($data_acces)
		{
			$list='';
			$param=explode('/',$_GET['do'],5);
			$option=$param[0];
			switch($option){
				case 'agregar':
					$list=usuarios::agregar($data_acces);
				break;
				case 'agregar_usu':
					$list=usuarios::agregar_usu($data_acces);
				break;
				case 'modificar':
					$list=usuarios::modificar($data_acces);
				break;
				case 'modificar_usu':
					$list=usuarios::modificar_usu($data_acces);
				break;
				case 'eliminar':
					$list = usuarios::eliminar($data_acces);
				break;
				default:
					$list=usuarios::list_usuario($data_acces);
			}
			return $list;
		}
		//funcion que contruye la seccion del sidebar
		function sidebar($data_acces)
		{
			$list='';
			$list.=sidebar::show_page($data_acces);
			return $list;
		}
		//funcion que muestra el menu de navegacion
		function menu_nav($data_acces)
		{
			$tmenu = new template;
			$tmenu->set_template('lib/html/navegation/navegation.html');
			return $tmenu->show();
		}
		//funcion que construye la pagina web
		function show_page($data_acces)
		{
			$tuser = new template;
			$tuser->set_template('lib/html/index.html');
			$tuser->set_parameter('nav_bar', usuarios::menu_nav($data_acces));
			$tuser->set_parameter('content_page', usuarios::menu($data_acces));
			$tuser->set_parameter('content_sidebar', usuarios::sidebar($data_acces));
			return $tuser->show();
		}
	}
	
	$user=new usuarios;
	echo $user->show_page($data_acces);
?>